package modelo;
import java.sql.*;
import javax.swing.table.DefaultTableModel;

public class modelo extends database{

    /** Constructor de clase */
    public modelo (){}
//==============================================================================
    /** Obtiene registros de la tabla PRODUCTO y los devuelve con un objeto*/
    public String getProductoXid(String id)
    {
    //se crea una Array con tantas filas y columnas que necesite
    String String_busqueda = null;
      try{
          //realizamos la consulta sql y llenamos los datos en array "Object[] data"
         PreparedStatement pstm = this.getConexion().prepareStatement("SELECT * FROM producto WHERE ID = '"
                 + id
                 + "'");
         ResultSet res = pstm.executeQuery();
         int i=0;
         while(res.next()){
                String_busqueda = res.getString( "id" );
                System.out.println(String_busqueda);
                String_busqueda = String_busqueda + ", "+ res.getString( "nombre" );
                System.out.println(String_busqueda);
                String_busqueda = String_busqueda + ", "+ res.getString( "precio" );
                System.out.println(String_busqueda);
                String_busqueda = String_busqueda + ", "+ res.getString( "cantidad" );
                System.out.println(String_busqueda);
            i++;
         }
         res.close();
         //se añade la array de datos en el DefaultTableModel
         }catch(SQLException e){
            System.err.println( e.getMessage() );
        }
        return String_busqueda;

    }
//==============================================================================
    /** Registra un nuevo producto */
    public boolean NuevoProducto(String id, String nombre , String precio, String cantidad)
    {
            //Consulta
            String q=" INSERT INTO producto ( id , nombre , precio, cantidad ) "
                    + "VALUES ( '" + id + "','" + nombre + "', '" + precio + "','" + cantidad + "') ";
            System.out.println(q);
            //se ejecuta la consulta
            try {
                PreparedStatement pstm = this.getConexion().prepareStatement(q);
                pstm.execute();
                pstm.close();
                return true;
            }catch(SQLException e){
                System.err.println( e.getMessage() );
            }
            return false;
    }

//==============================================================================
    /** Elimina un registro dado su ID -> Clave primaria */
    public boolean EliminarProducto( String id ){
         boolean res=false;
        //Consulta
        String q = " DELETE FROM producto WHERE  id='" + id + "' " ;
        //se ejecuta la consulta
         try {
            PreparedStatement pstm = this.getConexion().prepareStatement(q);
            pstm.execute();
            pstm.close();
            res=true;
         }catch(SQLException e){
            System.err.println( e.getMessage() );
        }
        return res;
    }
//==============================================================================
       /** Elimina un registro dado su ID -> Clave primaria */
    public boolean ModificaProducto( String id, String nombre, String precio, String cantidad){
         boolean res=false;
        //Consulta
        String q = "UPDATE PRODUCTO SET ID = '"
                + id
                + "', NOMBRE = '"
                + nombre
                + "', PRECIO = '"
                + precio
                + "', CANTIDAD = '"
                + cantidad
                + "' WHERE ID = '" + id + "' " ;
        //se ejecuta la consulta
         try {
            PreparedStatement pstm = this.getConexion().prepareStatement(q);
            pstm.execute();
            pstm.close();
            res=true;
         }catch(SQLException e){
            System.err.println( e.getMessage() );
        }
        return res;
    }
//==============================================================================
}
